package Risk.Reseau;

import java.io.*;

import java.net.*;

/**
 * Classe réalisant l'envoie des messages vers le serveur
 * @version 1.0
 * date 29/12/2007
 * @author Sebastien Depoix
 */
public class Client {
    private DataOutputStream	dosEnSortie;
    private Socket		socket;

    /**
     * Constructeur creant une connexion avec le serveur
     *
     * @param hote Adresse IP du serveur
     * @param port Numero de port du serveur
     * @throws java.io.IOException
     */
    public Client(String hote, int port) throws IOException {
	socket      = new Socket(hote, port);
	dosEnSortie = new DataOutputStream(socket.getOutputStream());
    }

    /**
     * Envoie le message passe en parametre au serveur
     * @param s Le message a envoyer
     * @throws java.io.IOException
     */
    synchronized void envoyerAuServeur(String s) throws IOException {
	dosEnSortie.writeInt(s.length());
	dosEnSortie.writeBytes(s);
	dosEnSortie.flush();
    }

    /**
     * Ferme la connexion
     * @throws java.io.IOException
     */
    public void fermerConnexion() throws IOException {
	dosEnSortie.close();
	socket.close();
    }
}
